package com.collabscm.waf.domain.repository;

import javax.persistence.Query;

import com.collabscm.waf.vo.QueryParameters;

/**
 * Query的填充器，用于根据各种QueryParameters加工
 *
 * @author Zeng Raoxing
 */
public interface QueryFiller {

	//TODO 添加对QueryParameters的判断
	/**
	 * 根据过滤条件填充Query的条件或排序等。
	 * 
	 * @param query      Query对象
	 * @param parameters 查询参数
	 */
	void fill(Query query, QueryParameters parameters);

	/**
	 * 根据查询条件填充查询总数的条件
	 * 
	 * @param query      Query对象
	 * @param parameters 查询条件
	 */
	void fillCountQuery(Query query, QueryParameters parameters);
	
}
